package cn.iocoder.yudao.module.trade.dal.dataobject.order;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.alibaba.excel.annotation.format.DateTimeFormat;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.experimental.Accessors;

import javax.validation.constraints.*;
import java.util.Date;

/**
 * @author chuhaifeng
 * @date 2025/4/17  13:56
 * @program ruoyi-vue-pro
 * @description
 **/
@TableName(value = "trade_order_personnel_information", autoResultMap = true)
@KeySequence("trade_order_personnel_information_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@Accessors(chain = true)
public class TradeOrderPersonnelInformationDO extends BaseDO {
    public static final Long LOGISTICS_ID_NULL = 0L;
    /**
     * 编号，主键自增
     */
    private Long id;
    private Integer sort;
    private Long tradeOrderId;
    private String photoPicUrl;
    private String passportPicUrl;
    private int idcardStatus;
    private String idcardGhPicUrl;
    private String idcardRxPicUrl;
    private String hkbPicUrl;
    private String marriagePicUrl;
    private String otherPicUrl;


    /**
     * 姓氏（中文）
     */
    private String familyName;

    /**
     * 姓氏拼音（大写）
     */
    private String familyNamePinyin;

    /**
     * 名字（中文）
     */
    private String givenName;

    /**
     * 名字拼音（大写）
     */
    private String givenNamePinyin;

    /**
     * 曾用名（如无请填写"无"）
     */
    private String formerName;

    /**
     * 性别（MALE-男, FEMALE-女）
     */
    private String gender;

    /**
     * 出生日期（格式：yyyy-MM-dd）
     */
    private Date birthDate;

    /**
     * 出生城市
     */
    private String birthCity;

    /**
     * 婚姻状况（SINGLE-未婚, MARRIED-已婚, DIVORCED-离异, WIDOWED-丧偶）
     */
    private String maritalStatus;

    /**
     * 身份证号码（18位）
     */
    private String idNumber;

    /**
     * 护照号码
     */
    private String passportNumber;

    /**
     * 护照签发地点
     */
    private String passportIssuePlace;

    /**
     * 护照签发日期（格式：yyyy-MM-dd）
     */
    private Date passportIssueDate;

    /**
     * 护照有效期至（格式：yyyy-MM-dd）
     */
    private Date passportExpiryDate;

    /**
     * 护照签发机关
     */
    private String passportAuthority;

    /**
     * 现居住地址（省市区）
     */
    private String currentAddress;

    /**
     * 详细地址（街道门牌号）
     */
    private String detailedAddress;

    /**
     * 手机号码（11位）
     */
    private String mobileNumber;

    /**
     * 固定电话号码（如无请填写"无"）
     */
    private String phoneNumber;

    /**
     * 电子邮箱
     */
    private String email;

    /**
     * 职业状况
     */
    private String occupationStatus;
}
